import {
    createRouter,
    createWebHashHistory
  } from 'vue-router'
  import { getUserSession } from '@/util/session.js';
const asyncRoutes = [
    {
      path: '/login',
      name: 'login',
      component: () => import('@/components/login/LoginComponent.vue'),
      meta: {
        title: '登录页面'
      }
    },
    {
      path: '/manageIndex',
      name: 'manageIndex',
      component: () => import('@/components/manage/manageIndex.vue'),
      meta: {
        title: '预约管理',
        requiresAuth: true
      },
    }
  ];
  const router = createRouter(
    {
        history: createWebHashHistory("./"),
        routes: asyncRoutes
      }
  );

  // 导航守卫，检查用户登录状态
router.beforeEach((to, from, next) => {
  const isAuthenticated = checkAuth(); // 检查用户是否已登录
  const requiresAuth = to.matched.some(record => record.meta.requiresAuth); // 检查路由是否需要登录权限
  if (requiresAuth && !isAuthenticated) {
    // 如果需要登录权限且用户未登录，则跳转到登录页面
    next('/login');
  } else {
    // 其他情况下，放行路由
    next();
  }
});

// 模拟检查用户登录状态的函数
function checkAuth() {
  // 这里可以根据实际情况检查用户是否已经登录，返回 true 或 false
  const userJSON = getUserSession("user");
  return userJSON===null?false:true; // 为了示例，这里假设用户已登录
}

  export default router;